home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
complib
/
firm1d.z
/
firm1d
Wrap
Text File
|
1998-10-30
|
16KB
|
265 lines
____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF))))
NNNNAAAAMMMMEEEE
SFIRM1D, DFIRM1D, CFIRM1D, ZFIRM1D - N 1D convolutions in the time
domain.
FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee SSSSFFFFIIIIRRRRMMMM1111DDDD(((( ffff,,,, iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
gggg,,,, iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
hhhh,,,, iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx,,,,
aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
iiiinnnntttteeeeggggeeeerrrr iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx
rrrreeeeaaaallll ffff((((llllddddffff,,,,nnnnyyyy)))),,,, gggg((((****)))),,,, hhhh((((llllddddhhhh,,,,nnnnyyyy)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee DDDDFFFFIIIIRRRRMMMM1111DDDD(((( ffff,,,, iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
gggg,,,, iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
hhhh,,,, iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx,,,,
aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
iiiinnnntttteeeeggggeeeerrrr iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx
ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn ffff((((llllddddffff,,,,nnnnyyyy)))),,,, gggg((((****)))),,,, hhhh((((llllddddhhhh,,,,nnnnyyyy)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee CCCCFFFFIIIIRRRRMMMM1111DDDD(((( ffff,,,, iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
gggg,,,, iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
hhhh,,,, iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx,,,,
aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
iiiinnnntttteeeeggggeeeerrrr iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx
ccccoooommmmpppplllleeeexxxx ffff((((llllddddffff,,,,nnnnyyyy)))),,,, gggg((((****)))),,,, hhhh((((llllddddhhhh,,,,nnnnyyyy)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ZZZZFFFFIIIIRRRRMMMM1111DDDD(((( ffff,,,, iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
gggg,,,, iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
hhhh,,,, iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx,,,,
aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
iiiinnnntttteeeeggggeeeerrrr iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx
ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx ffff((((llllddddffff,,,,nnnnyyyy)))),,,, gggg((((****)))),,,, hhhh((((llllddddhhhh,,,,nnnnyyyy)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
####iiiinnnncccclllluuuuddddeeee <<<<ccccoooonnnnvvvv....hhhh>>>>
vvvvooooiiiidddd ssssffffiiiirrrrmmmm1111dddd(((( ffffllllooooaaaatttt ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt llllssssffff,,,, iiiinnnntttt iiiiffffxxxx0000,,,, iiiinnnntttt nnnn____ffffxxxx,,,,
iiiinnnntttt nnnn____sssseeeeqqqq,,,,
ffffllllooooaaaatttt ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiiggggxxxx0000,,,, iiiinnnntttt nnnn____ggggxxxx,,,,
ffffllllooooaaaatttt ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt llllddddhhhh,,,, iiiinnnntttt iiiihhhhxxxx0000,,,, iiiinnnntttt nnnn____hhhhxxxx,,,,
ffffllllooooaaaatttt aaaallllpppphhhhaaaa,,,, ffffllllooooaaaatttt bbbbeeeettttaaaa))))
PPPPaaaaggggeeee 1111
____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF))))
vvvvooooiiiidddd ddddffffiiiirrrrmmmm1111dddd(((( ddddoooouuuubbbblllleeee ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt llllddddffff,,,, iiiinnnntttt iiiiffffxxxx0000,,,, iiiinnnntttt nnnn____ffffxxxx,,,,
iiiinnnntttt nnnn____sssseeeeqqqq,,,,
ddddoooouuuubbbblllleeee ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiiggggxxxx0000,,,, iiiinnnntttt nnnn____ggggxxxx,,,,
ddddoooouuuubbbblllleeee ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt llllddddhhhh,,,, iiiinnnntttt iiiihhhhxxxx0000,,,, iiiinnnntttt nnnn____hhhhxxxx,,,,
ddddoooouuuubbbblllleeee aaaallllpppphhhhaaaa,,,, ddddoooouuuubbbblllleeee bbbbeeeettttaaaa))))
vvvvooooiiiidddd ccccffffiiiirrrrmmmm1111dddd(((( ccccoooommmmpppplllleeeexxxx ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt llllddddffff,,,, iiiinnnntttt iiiiffffxxxx0000,,,, iiiinnnntttt nnnn____ffffxxxx,,,,
iiiinnnntttt nnnn____sssseeeeqqqq,,,,
ccccoooommmmpppplllleeeexxxx ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiiggggxxxx0000,,,, iiiinnnntttt nnnn____ggggxxxx,,,,
ccccoooommmmpppplllleeeexxxx ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt llllddddhhhh,,,, iiiinnnntttt iiiihhhhxxxx0000,,,, iiiinnnntttt nnnn____hhhhxxxx,,,,
ccccoooommmmpppplllleeeexxxx ****aaaallllpppphhhhaaaa,,,, ccccoooommmmpppplllleeeexxxx ****bbbbeeeettttaaaa))))
vvvvooooiiiidddd zzzzffffiiiirrrrmmmm1111dddd(((( zzzzoooommmmpppplllleeeexxxx ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt llllddddffff,,,, iiiinnnntttt iiiiffffxxxx0000,,,, iiiinnnntttt nnnn____ffffxxxx,,,,
iiiinnnntttt nnnn____sssseeeeqqqq,,,,
zzzzoooommmmpppplllleeeexxxx ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiiggggxxxx0000,,,, iiiinnnntttt nnnn____ggggxxxx,,,,
zzzzoooommmmpppplllleeeexxxx ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt llllddddhhhh,,,, iiiinnnntttt iiiihhhhxxxx0000,,,, iiiinnnntttt nnnn____hhhhxxxx,,,,
zzzzoooommmmpppplllleeeexxxx ****aaaallllpppphhhhaaaa,,,, zzzzoooommmmpppplllleeeexxxx ****bbbbeeeettttaaaa))))
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
SFIRM1D, DFIRM1D, CFIRM1D and DFIRM1D compute N 1D convolutions in the
time domain :
h(i,j) = beta * h(i,j) + alpha * Sum[ f(k,j) * g(i-k) ] with j=1,...,N
UUUUSSSSAAAAGGGGEEEE::::
1. Suppose you want to:
filter a 2D "image" f(0:449,0:699) along the first dimension ,
by a 1D filter g(-15:15),
put the result in h(0:449,0:699),
you can use:
call dfirm1d( 700,f(0,0),1,449-0+1,0,449,g(-15),1,-15,15,1.0,
$ h(0,0),1,449-0+1,0,449,0.0)
2. Suppose you want to:
filter a 2D "image" f(0:449,0:699) along the Second dimension ,
by the Fisrt line of g(0:149,-15:15),
put the result in h(-25:449,0:699),
you can use:
call dfirm1d( 450,f(0,0),449-0+1,1,0,449,
$ g(0,-15),149-25+1,-15,15,1.0,
$ h(0,0),449-0+1,1,0,449,0.0)
PPPPaaaaggggeeee 2222
____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF))))
PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
ffff Vector containing sequence "f"
iiiinnnnccccffff Increment between two successive values of "f"
llllddddffff Increment between two successive 1D sequnce of "f"
iiiiffffxxxx0000 Index of the first element of each 1D sequence of "f"
nnnn____ffffxxxx Number of elements of each sequence of "f"
nnnnyyyy Number of 1D sequences to filter
gggg Vector containing the 1D sequence "g"
iiiinnnnccccgggg Increment between two successive values of "g"
iiiiggggxxxx0000 Index of the first element of each 1D sequence of "g"
nnnn____ggggxxxx Number of elements of Each sequence of "g"
hhhh Vector containing the 2D sequence "h"
iiiinnnncccchhhh Increment between two successive values of "h"
llllddddhhhh Increment between two successive 1D sequnce of "h"
iiiihhhhxxxx0000 Index of the first element of each 1D sequence of "h"
nnnn____hhhhxxxx Number of elements of Each sequence of "h"
aaaallllpppphhhhaaaa Scaling factor for the original values of the "h" sequence
bbbbeeeettttaaaa Scaling factor for the convolution
IIIIMMMMPPPPOOOORRRRTTTTAAAANNNNTTTT NNNNOOOOTTTTEEEE::::
The array pointers must all point to the first element of the
array "(ifx0,ify0)", "(igx0,igy0)" and "(ihx0,ihy0)". If "f"
for example is defined as
dimension f(-25:45,10:21)
Then "dfirm1d" must be called with the following parameters
call dfirm1d( f(-25,10),(45-(-25)+1),-25,45,10,21 ... )
PPPPaaaaggggeeee 3333
____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF))))
AUTHORS
Jean-Pierre Panziera, 1/12/93.
PPPPaaaaggggeeee 4444